// easy

// 给定一个字符串s

// 将字符串中每个单词的字符顺序进行反转，同时仍保留空格和单词的初始顺序

// 思路： 使用额外空间
// 1. 将字符串按空格进行分割，分割成一个个的单词
// 2. 再将每个单词进行反转
// 3. 最后将每个单词连接起来

var reverseWords = function(s) {
    const ret = [];
    const length = s.length;
    let i = 0;
    while (i < length) {
        let start = i;
        while (i < length && s.charAt(i) != ' ') {
            i++;
        }
        for (let p = start; p < i; p++) {
            ret.push(s.charAt(start + i - 1 - p));
        }
        while (i < length && s.charAt(i) == ' ') {
            i++;
            ret.push(' ');
        }
    }
    return ret.join('');
};

let s = "God   Ding"
console.log(reverseWords(s))